Operator CLHSSingleCamera

Operator Library: Hardware Platform

此算子代表 CLHS Single Link 配置相機與 VisualApplets 之間的影像資料介面。此算子從 CLHS 相機接收資料,並將其饋送至影像處理應用程式中。

適用於硬體平台
marathon VF2

該算子獨佔使用一個 camera 類型的資源。您可以選擇擷取卡的 port 0 或 port 1 作為影像來源。相同的資源 ID 在 applet 中不能使用超過一次。

此算子永遠只有一個輸出連接埠 O,即影像輸出。

新增選配的 GPIO 連接埠

除了此標準輸出連接埠之外,如果您的設計需要,還可以指定各種選配連接埠。

CLHS 通訊協定支援脈衝和 GPIO 訊息。

在執行算子個體化(Instantiation)期間,將會彈出一個對話方塊:

在此,您可以定義最多 16 個選配 GPI(通用輸入)與最多 16 個選配 GPO(通用輸出)的可用性。

如果您將連接埠可用性設定為「0」(預設值), 則 Operator 中將不會出現該連接埠。 如果您將連接埠可用性設定為 1,則該特定連接埠可在 Operator 介面上使用。

當連接的算子變更 GPI 的狀態時,即會轉移 GPIO 狀態。當算子從相機接收到 GPIO 訊息時,所有 GPO 都會更新。

參數 Bit Width

鏈結參數 Bit Width 可以設為高於或低於相機實際傳送的位元寬度:

  • 如果您選擇較低的值,每個像素的 LSB 位元將會被切除,因此只有 MSB 位元會被傳輸到應用程式中。
  • 如果您選擇較高的值,原始像素將會被置於輸出像素的 MSB 位置。LSB 位元將會以零填滿。

在這兩種情況下,相對亮度保持不變,也就是說,白色像素保持白色,黑色像素保持黑色。

新增選配的輸出連接埠

此外,您可以(選擇性地)啟用兩個額外的輸出連接埠:

  • 一個輸出連接埠 Output (SyncO)(視訊訊息的 MultiFGSync 位元),以及
  • 一個輸出連接埠 Output (HeaderO)。 Output (HeaderO) 提供目前正在處理之視訊封包的標頭資訊。 該連接埠以 64 bit 寬度的像素提供標頭資訊。

輸出連接埠 HeaderO 的結構

在輸出連接埠 O 輸出影像資料之前,會在連接埠 HeaderO 上輸出單一像素。此像素包含視訊封包標頭的資料。 輸出連接埠 HeaderO 用於傳輸關於進來資料更複雜相依性的資訊,或是透過 applet 的視訊鏈結對事件做出反應。

輸出連接埠 HeaderO 的結構如下:

位置 CLHS 標頭 描述
[0,2] ColorID [0,2] Video Source:目前此部分始終為 0
[3,4] ColorID [3,4] Packet Type 0 = video(所有其他組合均保留)
[5,7] ColorID [5,7] Color ID:
ColorID 描述
0 Mono、Multi-component、Bayer、Raw
1 Blue
2 綠色
3 Red
4 Alpha
(5..7) 保留
[8,9] VideoStatus [1,0] 行標記:
Bits 描述
00 行接續
01 行起始
10 行結束
11 完整行(起始與結束)
[10,11] VideoStatus [3,2] 畫格標記:
Bits 描述
00 畫格接續
01 畫格起始
10 畫格結束
11 完整畫格(起始與結束)
12 VideoStatus [4] 觸發遺漏。自上一個封包以來,相機無法對觸發要求做出反應
13 VideoStatus [5] 相機緩衝區溢位
14 VideoStatus [6] 用於多張擷取卡應用的 MultiFGSync 同步(另請參閱 SyncO 輸出)
15 VideoStatus [7] 重傳旗標(Resend Flag),設為 0,未使用
[16,31] RowID 當前列的編號
[32,39] - 保留,設為 0
[40,55] ColID 此封包中第一個像素的欄編號
[56,63] AcquisitionSet 相機可能會使用此 Byte 來設定專有資訊

I/O Properties

Property Value
Operator Type M
輸出連結 O,要在 VisualApplets 內部使用的擷取影像資料
GPO[0;15](選填),相機 GPO 的狀態(透過 CLHS 交換)
GPI[0;15](選填),擷取卡 GPO 的狀態(透過 CLHS 交換)
SyncO(選填),在視訊封包中設定 MultiFGSync 位元(有效期間為 1 個時脈週期)
HeaderO(選填),每個視訊封包開頭處有一個 64 位元寬的像素,包含視訊封包標頭

支援的 Link 格式

Link Parameter Output Link O Output Link GPO[0;15](選填) Output Link GPI[0;15](選填) Output Link SyncO(選填) Output Link HeaderO(選填)
Bit Width any 1 1 1 64
Arithmetic unsigned unsigned unsigned unsigned unsigned
Parallelism 任意,請參閱參數說明 1 1 1 1
Kernel Columns 1 1 1 1 1
Kernel Rows 1 1 1 1 1
Img Protocol {VALT_IMAGE2D, VALT_LINE1D} VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL VALT_Pixel0D
Color Format VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY VAF_GRAY
Color Flavor FL_NONE FL_NONE FL_NONE FL_NONE FL_NONE
Max. Img Width any 1 1 1 1
Max. Img Height any 1 1 1 1

參數

CameraID
Type 靜態寫入參數
Default 0
Range {0, 1}

此參數指定要使用的相機資源。 此外,此 ID 將用於將相機通道對應至 applet 連接埠。

PixelFormat
Type 靜態寫入參數
Default Mono10p
Range {Mono8,Mono10p,Mono12p,Mono14p,Mono16,Raw8,Raw10p,Raw12p,Raw14p,Raw16, Raw64, B8, B10p, B12p, B14p, B16, G8, G10p, G12p, G14p, G16, R8, R10p, R12p, R14p, R16, BGR8, BGR10p, BGR12p, BGR14p, BGR16, BGRa8, BGRa10p, BGRa12p, BGRa14p, BGRa16, BayerGR8, BayerGR10p, BayerGR12p,BayerGR14p, BayerGR16, BayerRG8, BayerRG10p, BayerRG12p, BayerRG14p, BayerRG16, BayerGB8, BayerGB10p, BayerGB12p, BayerGB14p, BayerGB16, BayerBG8, BayerBG10p, BayerBG12p, BayerBG14p, BayerBG16}

此參數指定輸出 Pixel Format。

在 RAW 模式下,將忽略從相機傳入的所有行和張數標記。RAW 模式用於支援複雜的 連結結構,且僅適用於 CLHSSingleCamera 算子。

AquisitionFormat
Type 靜態寫入參數
Default 面積
Range {Area; Linescan; RAW}

當此參數設為「Area」時, 取得的第一個資料是完整的影格。 從中間開始的影格將被忽略。 因此,第一個視訊訊息中需要有「Start Of Frame」標記。

當此參數設定為 "Line" 時,第一個可用資料為完整的一行。從中間開始的行將被忽略。因此,第一則視訊訊息中必須包含 "Start Of Line" 標記。"Start of Frame" 和 "End of Frame" 將被忽略,因為對於線掃描相機,它們會被設定為 0。

當此參數設定為 "RAW" 時,將忽略所有標記(包括 "Start/End of Line" 以及 "Start/End of Frame")。 "RAW" 模式用於支援複雜的連接結構。 此模式僅在 CLHSSingleCamera 運算子中可用。

LineSupervision
Type dynamic/static read/write parameter
Default 熄滅
Range {on, off}

如果此參數設定為 "on",則運算子會監控從相機傳入的所有行是否都已傳輸至 applet。

從相機傳入的行會按升序編號(行 0、行 1、行 2 ... 行 N)。 此參數可確保不會遺失任何行。 例如,如果連接了一部具有一個連線的相機,且參數監控如 332、333、335、336 等序列,則會擲回錯誤。

如果相機擁有超過 1 個連線,則可以使用參數 RowStep 相應地增加每個連線傳入行的步進大小。 例如,如果相機擁有 2 個連線,連線 0 會接收行 0、2、4、6 等,而連線 1 會接收行 1、3、5、7 等。 相應地,如果相機擁有 4 個連線,連線 0 會接收行 0、4、8、12 等,連線 1 會接收行 1、5、9、13, 連線 2 會接收行 2、6、10、14 等。

此外,參數 LineSupervision 會檢查完整性: Start of line (SoL) 與 End of Line (EoL) 必須順序正確。 系統將會偵測遺失的 EoL 或 SoL、產生錯誤旗標,並插入 End of Line。 遺失的行將會以較小的行插入 (長度取決於 Parallelism 與 bitwidth),直到偵測到 2 個連續的 RowID 並再次確保行一致性為止。

RowStep
Type dynamic/static read/write parameter
Default 1
Range {1, 65535}

2 個 RowID 之間的步進。除非使用多通道相機 且行被分割到各個連線中,否則應為 1。

SyncFirstLineToFGSyncRequest
Type dynamic/static read/write parameter
Default 否
Range {no,yes}

如果此參數設定為 yes,則第一個 FGSyncRequest 之前的所有行都會被捨棄。 僅在 LINE_1D 模式下運作。 這會將第一行與第一個外部 FGSyncRequest 脈衝進行同步。

MinimalParallelism
Type 靜態讀取參數
Default 2
Range [1; 1024]

輸出連線 O 能夠傳輸相機的最大頻寬而不會遺失資料所需的最小 Parallelism。 此值取決於目前選取的設計時脈頻率。 頻率越高,Parallelism 值就可以越低。